home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / e / ddmoduls.lha / dd_Modules / dd_gui / dd_gadgets / dd_bottomslider.e < prev    next >
Text File  |  1995-10-29  |  3KB  |  137 lines

  1. OPT MODULE
  2.  
  3. MODULE '*borderslider'
  4.  
  5. MODULE 'utility'
  6. MODULE 'utility/tagitem'
  7. MODULE 'intuition/intuition'
  8. MODULE 'gadtools'
  9. MODULE 'intuition/icclass'
  10. MODULE 'intuition/imageclass'
  11. MODULE 'intuition/gadgetclass'
  12. MODULE 'intuition/screens'
  13.  
  14. EXPORT OBJECT bottomslider OF borderslider
  15.   context:PTR TO gadget
  16.   gadgetlist:PTR TO gadget
  17.   leftimage:PTR TO image
  18.   rightimage:PTR TO image
  19.   leftgadget:PTR TO gadget
  20.   rightgadget:PTR TO gadget
  21.   slider:PTR TO gadget
  22.   total:LONG
  23.   visible:LONG
  24. ENDOBJECT
  25.  
  26. EXPORT ENUM SLIDER,LEFT,RIGHT
  27.  
  28. RAISE BSLIDX_CREATE IF NewObjectA()=0
  29. RAISE BSLIDX_CREATE IF CreateContext()=0
  30.  
  31. EXPORT PROC new(taglist=NIL) OF bottomslider HANDLE
  32.   DEF gadgetlist:PTR TO gadget
  33.   DEF drawinfo,sysisize
  34.   PrintF('taglist=\h\n',taglist)
  35.   SUPER self.new(taglist)
  36.   drawinfo:=GetTagData(BSLIDA_DRAWINFO,0,taglist)
  37.   sysisize:=GetTagData(BSLIDA_SIZE,SYSISIZE_MEDRES,taglist)
  38.   self.leftimage:=NewObjectA(
  39.     0,
  40.     'sysiclass',
  41.     [
  42.       SYSIA_DRAWINFO,drawinfo,
  43.       SYSIA_WHICH,LEFTIMAGE,
  44.       SYSIA_SIZE,sysisize,
  45.       TAG_END
  46.     ])
  47.   self.rightimage:=NewObjectA(
  48.     0,
  49.     'sysiclass',
  50.     [
  51.       SYSIA_DRAWINFO,drawinfo,
  52.       SYSIA_WHICH,RIGHTIMAGE,
  53.       SYSIA_SIZE,sysisize,
  54.       TAG_END
  55.     ])
  56.   self.context:=CreateContext({gadgetlist})
  57.   self.gadgetlist:=gadgetlist
  58.   self.rightgadget:=NewObjectA(
  59.     0,
  60.     'buttongclass',
  61.     [
  62.       GA_ID,RIGHT,
  63.       GA_IMMEDIATE,TRUE,
  64.       GA_IMAGE,self.rightimage,
  65.       GA_WIDTH,self.rightimage.width,
  66.       GA_HEIGHT,self.rightimage.height,
  67.       GA_PREVIOUS,self.context,
  68.       GA_RELVERIFY,TRUE,
  69.       GA_BOTTOMBORDER,TRUE,
  70.       GA_RELRIGHT,(1-self.sizeimage.width-self.rightimage.width),
  71.       GA_RELBOTTOM,(1-self.rightimage.height),
  72.       ICA_TARGET,ICTARGET_IDCMP,
  73.       TAG_END
  74.     ])
  75.   self.leftgadget:=NewObjectA(
  76.     0,
  77.     'buttongclass',
  78.     [
  79.       GA_ID,LEFT,
  80.       GA_IMMEDIATE,TRUE,
  81.       GA_IMAGE,self.leftimage,
  82.       GA_WIDTH,self.leftimage.width,
  83.       GA_HEIGHT,self.leftimage.height,
  84.       GA_PREVIOUS,self.rightgadget,
  85.       GA_RELVERIFY,TRUE,
  86.       GA_BOTTOMBORDER,TRUE,
  87.       GA_RELRIGHT,(1-self.sizeimage.width-self.rightimage.width-self.leftimage.width),
  88.       GA_RELBOTTOM,(1-self.leftimage.height),
  89.       ICA_TARGET,ICTARGET_IDCMP,
  90.       TAG_END
  91.     ])
  92.   self.slider:=NewObjectA(
  93.     0,
  94.     'propgclass',
  95.     [
  96.       ICA_TARGET,ICTARGET_IDCMP,
  97.       GA_PREVIOUS,self.rightgadget,
  98.       GA_LEFT,3,
  99.       GA_RELBOTTOM,(3-self.sizeimage.height),
  100.       GA_RELWIDTH,(-5-self.sizeimage.width-self.rightimage.width-self.leftimage.width),
  101.       GA_HEIGHT,self.sizeimage.height-4,
  102.       GA_BOTTOMBORDER,TRUE,
  103.       GA_ID,SLIDER,
  104.       PGA_FREEDOM,FREEHORIZ,
  105.       PGA_NEWLOOK,TRUE,
  106.       PGA_BORDERLESS,TRUE,
  107.       PGA_TOTAL,self.total,
  108.       PGA_VISIBLE,self.visible,
  109.       TAG_DONE
  110.     ])
  111. EXCEPT
  112.   self.end()
  113.   ReThrow()
  114. ENDPROC
  115. PROC end() OF bottomslider
  116.   IF self.gadgetlist
  117.     FreeGadgets(self.gadgetlist)
  118.     self.gadgetlist:=0
  119.     self.context:=0
  120.     self.leftgadget:=0
  121.     self.rightgadget:=0
  122.   ENDIF
  123.   IF self.rightimage
  124.     DisposeObject(self.rightimage)
  125.     self.rightimage:=0
  126.   ENDIF
  127.   IF self.leftimage
  128.     DisposeObject(self.leftimage)
  129.     self.leftimage:=0
  130.   ENDIF
  131.   SUPER self.end()
  132. ENDPROC
  133.  
  134. PROC gadgetlist() OF bottomslider IS self.gadgetlist
  135.  
  136. PROC lastgadget() OF bottomslider IS self.leftgadget
  137.